home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 6 / Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso / 031a / blx11.zip / STR.CPP < prev    next >
Text File  |  1991-01-21  |  906b  |  32 lines

  1. #include<iostream.h>
  2. // conventional strcpy...
  3. char *strcpy(char *dest, const char *source) {
  4.     char *d = dest;
  5.     while((*dest++ = *source++));
  6.     return d;
  7. }
  8. // strcpy that accepts a length argument...
  9. char *strcpy(char *dest, const char *source, size_t len) {
  10.     char *d = dest;
  11.     while(len && (*dest++ = *source++)) len--;
  12.     while(len--) *dest++ = '\0';
  13.     return d;
  14. }
  15. typedef char far *FPTR;
  16. // strcpy that copies far pointers...
  17. FPTR strcpy(FPTR dest, FPTR source) {
  18.     char far *d = dest;
  19.     while((*dest++ = *source++));
  20.     return d;
  21. }
  22. void main(void) {
  23.     char destbuf[50];
  24.     FPTR fptr = "This is referred to as a far pointer\n";
  25.     strcpy(destbuf,"Copy this...\n");
  26.     cout << destbuf;
  27.     strcpy((FPTR)destbuf,fptr);
  28.     cout << destbuf; strcpy(destbuf,"Then only copy 35 characters of this...", 35);
  29.     cout << destbuf;
  30.     cout << destbuf;
  31. }
  32.